home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula 2
/
Nebula Two.iso
/
SourceCode
/
GameKit
/
Headers
/
gamekit
/
GKSoundStream.h
< prev
next >
Wrap
Text File
|
1995-06-12
|
1KB
|
44 lines
// This object manages multiple streams for sound output and
// dynamically assigns a sound to one of the streams.
//
// This does not do preemption of currently playing sounds, thus
// it will try to pick the best stream for the sound to play on;
// if a stream is idling, it is used. If all streams are busy,
// the stream which will finish next is chosen. When you init
// the object, tell it how many streams it is to use.
//
// Note that a program may have multiple GKSoundStreams. Thus,
// you can have several "groupings" of streams; one group to handle
// certain types of sounds, etc. This allows you to have one stream
// per sound, or several streams for an often played sound, or
// one stream for a set of seldom-played sounds, or many streams for
// a set of sounds that may overlap, but not necessarily. The
// SoundPlayer object uses GKSoundStreams as part of it's guts.
#import <appkit/appkit.h>
@interface GKSoundStream:Object
{
id streamList, device, timeLeftList, currentTime;
int tag; BOOL _initialized;
}
// Initialization:
- init; // same as -initStreams:1
- initStreams:(int)nstr; // preferred method
- playSoundStruct:(SNDSoundStruct *)sound; // returns DAYTime which tells
// when the sound will finish --
// Do NOT free it; it's a private object!!!
// for cleaning up; -free calls -freeObjects.
- freeObjects;
- free;
// to get at the internal lists
- streamList;
- timeLeftList;
@end